<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			// promise的周边方法；
			// let p = new Promise((res,rej)=>{
			// 		res();
			// })
			// p.then(res=>{
			// 	console.log(res);
			// }).catch(err=>{
			// 	console.log(err);
			// })
			
			// 一、静态方法；static 声明静态成员 ：和类有关系 和 对象没有关系；
			// 1.Promise.resolve();创建一个成功状态的promise对象
			// let p = new Promise(res=>{
			// 	res(111);
			// })
			// console.log(p);
			
			// let p  = Promise.resolve(111);
			// console.log(p);
			
			// 2.创建一个失败状态的promise对象Promise.reject();
			// let p = Promise.reject("err");
			// console.log(p);
			
			// 3.执行多个promise对象 获取 执行最快的promise对象的结果；Promise.race();
			// let p1 = new Promise(res=>{
			// 	setTimeout(()=>{
			// 		res(111);
			// 	},2000)
			// })
			
			// let p2 = new Promise(res=>{
			// 	setTimeout(()=>{
			// 		res(222);
			// 	},3000)
			// })
			
			// let p3 = new Promise(res=>{
			// 	setTimeout(()=>{
			// 		res(333);
			// 	},1000)
			// })
			// Promise.race([p1,p2,p3]).then(res=>{
			// 	console.log(res);
			// })
			
			
			// 4.执行多个promise对象（并列执行），获取结果 ；
			// Promise.all方法 必须要所有的promise都是成功的时候才能获取结果；
			// let p1 = new Promise(res=>{
			// 	setTimeout(()=>{
			// 		res(111);
			// 	},2000)
			// })
			
			// let p2 = new Promise((res,rej)=>{
			// 	setTimeout(()=>{
			// 		rej(222);
			// 	},3000)
			// })
			
			// let p3 = new Promise(res=>{
			// 	setTimeout(()=>{
			// 		res(333);
			// 	},1000)
			// })
			
			// Promise.all([p1,p2,p3]).then(res=>{
			// 	console.log(res);
			// },err=>{
			// 	console.log(err);
			// })
			
			// 5.Promise.allSettled() :可以执行所有的promise对象 然后无论成功或者失败都可以收集到所有的结果；
			// let p1 = new Promise(res=>{
			// 	setTimeout(()=>{
			// 		res(111);
			// 	},2000)
			// })
			
			// let p2 = new Promise((res,rej)=>{
			// 	setTimeout(()=>{
			// 		rej(222);
			// 	},3000)
			// })
			
			// let p3 = new Promise(res=>{
			// 	setTimeout(()=>{
			// 		res(333);
			// 	},1000)
			// })
			
			// Promise.allSettled([p1,p2,p3]).then(res=>{
			// 	console.log(res);
			// })
			
			
			// 6.finally：最后的
			let p = new Promise((res,rej)=>{
				// res(111);
				rej(222);
			})
			p.then(res=>{
				console.log(res);
			},err=>{
				console.log(err);
			}).finally(()=>{
				console.log("最后执行");
			})
			
		</script>
	</body>
</html>
